package Sort;

/**
 * @Author zengxianlong
 * @Date 2021/11/16 10:43
 * @Version 1.0
 */
public class ShellSort {

   public static  void sort(int[] arr){
      for (int gap=arr.length/2;gap>0;gap/=2){
         for (int i=gap;i<arr.length;i++){
            for (int j=i;j>gap-1;j-=gap){
               if (arr[j]<arr[j-gap]){
                  swap(arr,j,j-gap);
               }
            }
         }
      }
      print(arr);
   }
   static void sort5(int[] arr){
      for (int gap=arr.length/2;gap>0;gap/=2){
         for (int i=gap;i<arr.length;i++){
            int temp=arr[i];
            for (int j=i;j>gap-1;j-=gap){
               if (arr[j]<arr[j-gap]){
                  arr[j]=arr[j-gap];
                  arr[j-gap]=temp;
               }
            }
         }
      }
   }
   static void sort2(int[] arr){
      for (int gap=arr.length/2;gap>0;gap/=2){
         for (int i=gap;i<arr.length;i++){
            int temp=arr[i];
            for (int j=i;j>gap-1;j-=gap){
               if (arr[j]<arr[j-gap]){
                arr[j]=arr[j-gap];
                arr[j-gap]=temp;
               }
            }
         }
      }
      print(arr);
   }

   public static void sort1(int[] arr){
      for (int i=1;i<arr.length;i++){
         int temp=arr[i];
         for (int j=i;j>0&&arr[j]<arr[j-1];j--){
            arr[j]=arr[j-1];
            arr[j-1]=temp;
         }
      }
      print(arr);
   }
   static void swap(int[] arr,int i,int j){
         int temp=arr[j];
         arr[j]=arr[i];
         arr[i]=temp;

   }
   static void print(int[] arr){
      for (int i=0;i<arr.length;i++){
         System.out.print(arr[i]+" ");
      }
   }
   public static void main(String[] args) {
      int[] arr={14,1,6,8,79,4,82,11,15};
      sort2(arr);
   }

}
